The de Bruijn principle and the compositional design of programming languages

نویسنده

  • Simon Dobson
چکیده

Component-oriented development can be applied to programing languages themselves. The typical structure of languages’ semantic definitions using natural deduction rules lends itself to modularisation schemes in which the rules describing an individual language feature set may be composed freely with those of other feature sets without interference. We describe initial work on a system that encapsulates this approach to language design, which can generate language tools and their associated proof systems by composing descriptions of feature sets. The intention is to modularise the development and proof processes and encourage the population of an open set of interoperable and re-composable

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A de Bruijn notation for higher - order rewriting ( Extended

We propose a formalism for higher-order rewriting in de Bruijn notation. This notation not only is used for terms (as usually done in the literature) but also for metaterms, which are the syntactical objects used to express general higher-order rewrite systems. We give formal translations from higher-order rewriting with names to higher-order rewriting with de Bruijn indices, and vice-versa. Th...

متن کامل

A Comparison between Concrete Representations for Bindings

Many representations of term syntax with variable bindings have been used to formalize programming language metatheory, but so far there is no clear consensus on which is the best representation. We have undertaken an exhaustive comparison between concrete representations, among which are: names, nominal, de Bruijn indices, de Bruijn levels, locally nameless, and their variations. In the contex...

متن کامل

A de Bruijn Notation for Higher-Order Rewriting

We propose a formalism for higher-order rewriting in de Bruijn notation. This notation not only is used for terms (as usually done in the literature) but also for metaterms, which are the syntactical objects used to express general higher-order rewrite systems. We give formal translations from higher-order rewriting with names to higher-order rewriting with de Bruijn indices, and vice-versa. Th...

متن کامل

Using {red as a Teaching Tool for Functional Programming and Program Execution

This paper describes an interactively controlled reduction system {red which may be employed to teach both basic concepts of functional programming and program execution at the undergraduate level, and advanced topics of computer science at the graduate level. {red supports the reduction languages KiR-a sugared versions of an applied {calculus with a full-edged (type-free)-reduction. Functions ...

متن کامل

On Explicit Substitutions and Names ( Extended

Calculi with explicit substitutions have found widespread acceptance as a basis for abstract machines for functional languages. In this paper we investigate the relations between variants with de Bruijn-numbers, with variable names, with reduction based on raw expressions and calculi with equational judgements. We show the equivalence between these variants, which is crucial in establishing the...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005